Position-based stylus communication

ABSTRACT

Position-based sensing methods and systems can be used to transmit data from an input device to a touch-sensitive device. For example, the touch sensing system may perform one or more coarse input device sub-scans to determine a coarse location of the input device. The coarse location can be used to select one or more touch sensors (or sensor channels) to sample for decoding data encoded in the stimulation signals from the input device. During one or more fine input device sub-scans, the touch sensing system can determine a fine location of the input device and decode the data from the input device sampled from the selected touch sensors (or sensor channels).

FIELD OF DISCLOSURE

This relates generally to communication between input devices and computing devices, and more specifically, to position-based communication between an input device and computing device.

BACKGROUND OF DISCLOSURE

Many types of input devices are presently available for performing operations in a computing system, such as buttons or keys, mice, trackballs, joysticks, touch panels, touch screens and the like. Touch-sensitive devices, and touch screens in particular, are quite popular because of their ease and versatility of operation as well as their affordable prices. A touch-sensitive device can include a touch panel, which can be a clear panel with a touch-sensitive surface, and a display device such as a liquid crystal display (LCD) that can be positioned partially or fully behind the panel so that the touch-sensitive surface can cover at least a portion of the viewable area of the display device. The touch-sensitive device can allow a user to perform various functions by touching or hovering over the touch panel using a finger, stylus or other object at a location often dictated by a user interface (UI) being displayed by the display device. In general, the touch-sensitive device can recognize a touch or hover event and the position of the event on the touch panel, and the computing system can then interpret the event in accordance with the display appearing at the time of the event, and thereafter can perform one or more actions based on the event.

Styli have become popular input devices for touch-sensitive devices. In particular, use of an active stylus capable of generating stylus stimulation signals that can be sensed by the touch-sensitive device can improve the precision and control of the stylus. In some instances it may be desirable for input devices, such as styli, to be able to transfer data, in addition to a stimulation signal used to identify touch location, to the touch screen. For example, data from the input devices (such as force, orientation, tilt, or the like) may be communicated to the touch screen, which may use that data to change an output of the display or perform some other operation.

SUMMARY OF DISCLOSURE

In some examples herein, an input device and methods for transmitting data from the input device through a capacitive coupling or touch screen interface are disclosed. For example, an active stylus may generate stimulation signals that are received by a plurality of touch sensors of a touch sensitive display to detect the presence and location of the stylus. In some examples, the stylus stimulation signals can also include encoded data. The touch sensing system may select one or more touch sensors (or sense channels) proximate to the stylus to sample, receive, and decode the encoded data. In some examples, selecting the one or more touch sensors (or sense channels) to receive encoded data can reduce hardware requirements because data receiver channels are not required for each touch sensor (or touch sensor channel). To decode frequency-encoded stylus data, the touch sensing system can determine a frequency spectrum of the sampled data. Upon determining which frequency/frequencies are transmitted by the stylus, the data can be decoded.

In some examples, the touch sensing system may perform one or more coarse input device sub-scans to determine a coarse location of the input device. The coarse location can be used to select one or more touch sensors (or sensor channels) to sample for decoding data from the input device. During one or more fine input device sub-scans, the touch sensing system can determine a fine location of the input device and decode the data from the input device sampled from the selected touch sensors (or sensor channels).

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A-1D illustrate examples of systems with touch screens that can accept input from an active stylus according to examples of the disclosure.

FIG. 2 illustrates a block diagram of an example computing system that can receive input from an active stylus according to examples of the disclosure.

FIG. 3 illustrates an example touch screen including touch sensing circuitry configured as drive and sense regions or lines according to examples of the disclosure.

FIG. 4 illustrates an example touch screen including touch sensing circuitry configured as pixelated electrodes according to examples of the disclosure.

FIG. 5 illustrates an example active stylus according to examples of the disclosure.

FIG. 6 illustrates an example touch sensor panel configuration operable with the touch ASIC of FIG. 2 to perform a stylus scan according to examples of the disclosure.

FIG. 7 illustrates an example touch sensor panel configuration operable with the touch ASIC of FIG. 2 to perform a stylus scan according to examples of the disclosure.

FIG. 8 illustrates an example pairing operation between a stylus and a host device via a wired connection according to examples of the disclosure.

FIGS. 9A-9C illustrate exemplary coarse stylus sub-scans according to examples of the disclosure.

FIG. 10 illustrates an example timing diagram for stylus activity and touch sensor panel activity, according to examples of the disclosure.

FIGS. 11A-11B illustrate exemplary stylus signal analysis hardware according to examples of the disclosure.

FIG. 12 illustrates an example block diagram of a touch sensing system including position-based data decoding according to examples of the disclosure.

FIGS. 13A-13B illustrate exemplary stylus data processing hardware according to examples of the disclosure.

FIG. 14 illustrates an example process for decoding data included in a stylus stimulation signal according to examples of the disclosure.

DETAILED DESCRIPTION

In the following description of examples, reference is made to the accompanying drawings in which it is shown by way of illustration specific examples that can be practiced. It is to be understood that other examples can be used and structural changes can be made without departing from the scope of the various examples.

In some examples herein, an input device and methods for transmitting data from the input device through a capacitive coupling or touch screen interface are disclosed. For example, an active stylus may generate stimulation signals that are received by a plurality of touch sensors of a touch sensitive display to detect the presence and location of the stylus. In some examples, the stylus stimulation signals can also include encoded data. The touch sensing system may select one or more touch sensors (or sense channels) proximate to the stylus to sample to receive and decode the encoded data. In some examples, selecting the one or more touch sensors (or sense channels) to receive encoded data can reduce hardware requirements because data receiver channels are not required for each touch sensor (or touch sensor channel). To decode frequency-encoded stylus data, the touch sensing system can determine a frequency spectrum of the sampled data. Upon determining which frequency/frequencies are transmitted by the stylus, the data can be decoded.

In some examples, the touch sensing system may perform one or more coarse input device sub-scans to determine a coarse location of the input device. The coarse location can be used to select one or more touch sensors (or sensor channels) to sample for decoding data from the input device. During one or more fine input device sub-scans, the touch sensing system can determine a fine location of the input device and decode the data from the input device sampled from the selected touch sensors (or sensor channels).

FIGS. 1A-1D illustrate examples of systems with touch screens that can accept input from an active stylus according to examples of the disclosure. FIG. 1A illustrates an exemplary mobile telephone 136 that includes a touch screen 124 that can accept input from an active stylus according to examples of the disclosure. FIG. 1B illustrates an example digital media player 140 that includes a touch screen 126 that can accept input from an active stylus according to examples of the disclosure. FIG. 1C illustrates an example personal computer 144 that includes a touch screen 128 that can accept input from an active stylus according to examples of the disclosure. In some examples, a personal computer 144 can include a trackpad that can accept input from an active stylus according to examples of the disclosure. Although generally described herein with regard to touch screens, active stylus input can be received by touch-sensitive surfaces without a display. FIG. 1D illustrates an example tablet computing device 148 that includes a touch screen 130 that can accept input from an active stylus according to examples of the disclosure. Other devices, including wearable devices, can accept input from an active stylus according to examples of the disclosure.

Touch screens 124, 126, 128 and 130 can be based on, for example, self-capacitance or mutual capacitance sensing technology, or another touch sensing technology. For example, in a self-capacitance based touch system, an individual electrode with a self-capacitance to ground can be used to form a touch pixel (touch node) for detecting touch. As an object approaches the touch pixel, an additional capacitance to ground can be formed between the object and the touch pixel. The additional capacitance to ground can result in a net increase in the self-capacitance seen by the touch pixel. This increase in self-capacitance can be detected and measured by a touch sensing system to determine the positions of multiple objects when they touch the touch screen.

A mutual capacitance based touch system can include, for example, drive regions and sense regions, such as drive lines and sense lines. For example, drive lines can be formed in rows while sense lines can be formed in columns (i.e., orthogonal). Touch pixels (touch nodes) can be formed at the intersections or adjacencies (in single layer configurations) of the rows and columns. During operation, the rows can be stimulated with an alternating current (AC) waveform and a mutual capacitance can be formed between the row and the column of the touch pixel. As an object approaches the touch pixel, some of the charge being coupled between the row and column of the touch pixel can instead be coupled onto the object. This reduction in charge coupling across the touch pixel can result in a net decrease in the mutual capacitance between the row and the column and a reduction in the AC waveform being coupled across the touch pixel. This reduction in the charge-coupled AC waveform can be detected and measured by the touch sensing system to determine the positions of multiple objects when they touch the touch screen. In some examples, a touch screen can be multi-touch, single touch, projection scan, full-imaging multi-touch, or any capacitive touch.

In some examples, one or more touch sensors can detect signals from a powered stylus via mutual capacitance. Rather than generating a stimulation signal, the touch sensors can be used to receive coupled charge indicative of the stylus' stimulation signals. As the stylus approaches a touch sensor, charge coupling can occur between a conductive tip of the stylus (which can be driven by the stylus stimulation signal) and the touch sensor. This charge coupling can be received as an AC waveform indicative of stylus presence. In some examples, stylus stimulation signals can be sampled, analyzed, and decoded to receive data encoded in the stylus signal.

FIG. 2 illustrates a block diagram of an example computing system 200 that can receive input from an active stylus according to examples of the disclosure. Computing system 200 could be included in, for example, mobile telephone 136, digital media player 140, personal computer 144, tablet computing device 148, wearable device, or any mobile or non-mobile computing device that includes a touch screen. Computing system 200 can include an integrated touch screen 220 to display images and to detect touch and/or proximity (e.g., hover) events from an object (e.g., finger 203 or active or passive stylus 205) at or proximate to the surface of the touch screen 220. Computing system 200 can also include an application specific integrated circuit (“ASIC”) illustrated as touch ASIC 201 to perform touch and/or stylus sensing operations. Touch ASIC 201 can include one or more touch processors 202, peripherals 204, and touch controller 206. Touch ASIC 201 can be coupled to touch sensing circuitry of touch screen 220 to perform touch and/or stylus sensing operations (described in more detail below). Peripherals 204 can include, but are not limited to, random access memory (RAM) or other types of memory or storage, watchdog timers and the like. Touch controller 206 can include, but is not limited to, one or more sense channels in receive circuitry 208, panel scan engine 210 (which can include channel scan logic) and transmit circuitry 214 (which can include analog or digital driver logic). In some examples, the transmit circuitry 214 and receive circuitry 208 can be reconfigurable by the panel scan engine 210 based the scan event to be executed (e.g., mutual capacitance row-column scan, mutual capacitance row-row scan, mutual capacitance column-column scan, row self-capacitance scan, column self-capacitance scan, pixelated sensor array scan, stylus data scan, stylus location scan, etc.). Panel scan engine 210 can access RAM 212, autonomously read data from the sense channels and provide control for the sense channels. The touch controller 206 can also include a scan plan (e.g., stored in RAM 212) which can define a sequence of scan events to be performed at the touch screen. The scan plan can include information necessary for configuring or reconfiguring the transmit circuitry and receive circuitry for the specific scan event to be performed. Results (e.g., touch/stylus signals or touch/stylus data) from the various scans can also be stored in RAM 212. In addition, panel scan engine 210 can provide control for transmit circuitry 214 to generate stimulation signals at various frequencies and/or phases that can be selectively applied to drive regions of the touch sensing circuitry of touch screen 220. Although illustrated in FIG. 2 as a single ASIC, the various components and/or functionality of the touch ASIC 201 can be implemented with multiple circuits, elements, chips, and/or discrete components.

Computing system 200 can also include an application specific integrated circuit illustrated as display ASIC 216 to perform display operations. Display ASIC 216 can include hardware to process one or more still images and/or one or more video sequences for display on touch screen 220. Display ASIC 216 can be configured to generate read memory operations to read the data representing the frame/video sequence from a memory (not shown) through a memory controller (not shown), for example. Display ASIC 216 can be configured to perform various processing on the image data (e.g., still images, video sequences, etc.). In some examples, display ASIC 216 can be configured to scale still images and to dither, scale and/or perform color space conversion on the frames of a video sequence. Display ASIC 216 can be configured to blend the still image frames and the video sequence frames to produce output frames for display. Display ASIC 216 can also be more generally referred to as a display controller, display pipe, display control unit, or display pipeline. The display control unit can be generally any hardware and/or firmware configured to prepare a frame for display from one or more sources (e.g., still images and/or video sequences). More particularly, display ASIC 216 can be configured to retrieve source frames from one or more source buffers stored in memory, composite frames from the source buffers, and display the resulting frames on touch screen 220. Accordingly, display ASIC 216 can be configured to read one or more source buffers and composite the image data to generate the output frame.

Display ASIC 216 can provide various control and data signals to the display, including timing signals (e.g., one or more clock signals) and/or vertical blanking period and horizontal blanking interval controls. The timing signals can include a pixel clock that can indicate transmission of a pixel. The data signals can include color signals (e.g., red, green, blue). The display ASIC 216 can control the touch screen 220 in real-time, providing the data indicating the pixels to be displayed as the touch screen is displaying the image indicated by the frame. The interface to such a touch screen 220 can be, for example, a video graphics array (VGA) interface, a high definition multimedia interface (HDMI), a digital video interface (DVI), a LCD interface, a plasma interface, or any other suitable interface.

In some examples, a handoff module 218 can also be included in computing system 200. Handoff module 218 can be coupled to the touch ASIC 201, display ASIC 216, and touch screen 220, and can be configured to interface the touch ASIC 201 and display ASIC 216 with touch screen 220. The handoff module 218 can appropriately operate the touch screen 220 according to the scanning/sensing and display instructions from the touch ASIC 201 and the display ASIC 216. In other examples, the display ASIC 216 can be coupled to display circuitry of touch screen 220 and touch ASIC 201 can be coupled to touch sensing circuitry of touch screen 220 without handoff module 218.

Touch screen 220 can use liquid crystal display (LCD) technology, light emitting polymer display (LPD) technology, organic LED (OLED) technology, or organic electro luminescence (OEL) technology, although other display technologies can be used in other examples. In some examples, the touch sensing circuitry and display circuitry of touch screen 220 can be stacked on top of one another. For example, a touch sensor panel can cover some or all of a surface of the display (e.g., fabricated one on top of the next in a single stack-up or formed from adhering together a touch sensor panel stack-up with a display stack-up). In other examples, the touch sensing circuitry and display circuitry of touch screen 220 can be partially or wholly integrated with one another. The integration can be structural and/or functional. For example, some or all of the touch sensing circuitry can be structurally in between the substrate layers of the display (e.g., between two substrates of a display pixel cell). Portions of the touch sensing circuitry formed outside of the display pixel cell can be referred to as “on-cell” portions or layers, whereas portions of the touch sensing circuitry formed inside of the display pixel cell can be referred to as “in cell” portions or layers. Additionally, some electronic components can be shared, and used at times as touch sensing circuitry and at other times as display circuitry. For example, in some examples, common electrodes can be used for display functions during active display refresh and can be used to perform touch sensing functions during touch sensing periods. A touch screen stack-up sharing components between sensing functions and display functions can be referred to as an in-cell touch screen.

Computing system 200 can also include a host processor 228 coupled to the touch ASIC 201, and can receive outputs from touch ASIC 201 (e.g., from touch processor 202 via a communication bus, such as an serial peripheral interface (SPI) bus, for example) and perform actions based on the outputs. Host processor 228 can also be connected to program storage 232 and display ASIC 216. Host processor 228 can, for example, communicate with display ASIC 216 to generate an image on touch screen 220, such as an image of a user interface (UI), and can use touch ASIC 201 (including touch processor 202 and touch controller 206) to detect a touch on or near touch screen 220, such as a touch input to the displayed UI. The touch input can be used by computer programs stored in program storage 232 to perform actions that can include, but are not limited to, moving an object such as a cursor or pointer, scrolling or panning, adjusting control settings, opening a file or a document, viewing a menu, making a selection, executing instructions, operating a peripheral device connected to the host device, answering a telephone call, placing a telephone call, terminating a telephone call, changing the volume or audio settings, storing information related to telephone communications such as addresses, frequently dialed numbers, received calls, missed calls, logging onto a computer or a computer network, permitting authorized individuals access to restricted areas of the computer or computer network, loading a user profile associated with a user's preferred arrangement of the computer desktop, permitting access to web content, launching a particular program, encrypting or decoding a message, and/or the like. As described herein, host processor 228 can also perform additional functions that may not be related to touch processing.

Computing system 200 can include one or more processors, which can execute software or firmware implementing various functions. Specifically, for integrated touch screens which share components between touch and/or stylus sensing and display functions, the touch ASIC and display ASIC can be synchronized so as to properly share the circuitry of the touch sensor panel. The one or more processors can include one or more of the one or more touch processors 202, a processor in display ASIC 216, and/or host processor 228. In some examples, the display ASIC 216 and host processor 228 can be integrated into a single ASIC, though in other examples, the host processor 228 and display ASIC 216 can be separate circuits coupled together. In some examples, host processor 228 can act as a master circuit and can generate synchronization signals that can be used by one or more of the display ASIC 216, touch ASIC 201 and handoff module 218 to properly perform sensing and display functions for an in-cell touch screen. The synchronization signals can be communicated directly from the host processor 228 to one or more of the display ASIC 216, touch ASIC 201 and handoff module 218. Alternatively, the synchronization signals can be communicated indirectly (e.g., touch ASIC 201 or handoff module 218 can receive the synchronization signals via the display ASIC 216).

Computing system 200 can also include a wireless module (not shown). The wireless module can implement a wireless communication standard such as a WiFi®, BLUETOOTH™ or the like. The wireless module can be coupled to the touch ASIC 201 and/or host processor 228. The touch ASIC 201 and/or host processor 228 can, for example, transmit scan plan information, timing information, and/or frequency information to the wireless module to enable the wireless module to transmit the information to an active stylus, for example (i.e., a stylus capable generating and injecting a stimulation signal into a touch sensor panel). For example, the computing system 200 can transmit frequency information indicative of one or more low noise frequencies that the stylus can use to generate a stimulation signals. Additionally or alternatively, timing information can be used to synchronize the stylus 205 with the computing system 200, and the scan plan information can be used to indicate to the stylus 205 when the computing system 200 performs a stylus scan and expects stylus stimulation signals (e.g., to save power by generating a stimulus only during a stylus scan period). In some examples, the wireless module can also receive information from peripheral devices, such as an active stylus 205, which can be transmitted to the touch ASIC 201 and/or host processor 228. In other examples, the wireless communication functionality can be incorporated in other components of computing system 200, rather than in a dedicated chip.

Note that one or more of the functions described herein can be performed by firmware stored in memory and executed by the touch processor in touch ASIC 201, or stored in program storage and executed by host processor 228. The firmware can also be stored and/or transported within any non-transitory computer-readable storage medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a “non-transitory computer-readable storage medium” can be any medium (excluding a signal) that can contain or store the program for use by or in connection with the instruction execution system, apparatus, or device. The non-transitory computer readable medium storage can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus or device, a portable computer diskette (magnetic), a random access memory (RAM) (magnetic), a read-only memory (ROM) (magnetic), an erasable programmable read-only memory (EPROM) (magnetic), a portable optical disc such a CD, CD-R, CD-RW, DVD, DVD-R, or DVD-RW, or flash memory such as compact flash cards, secured digital cards, USB memory devices, memory sticks, and the like.

The firmware can also be propagated within any transport medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a “transport medium” can be any medium that can communicate, propagate or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The transport readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic or infrared wired or wireless propagation medium.

It is to be understood that the computing system 200 is not limited to the components and configuration of FIG. 2, but can include other or additional components in multiple configurations according to various examples. Additionally, the components of computing system 200 can be included within a single device, or can be distributed between multiple devices.

As discussed above, the touch screen 220 can include touch sensing circuitry. FIG. 3 illustrates an example touch screen including touch sensing circuitry configured as drive and sense regions or lines according to examples of the disclosure. Touch screen 320 can include touch sensing circuitry that can include a capacitive sensing medium having a plurality of drive lines 322 and a plurality of sense lines 323. It should be noted that the term “lines” is sometimes used herein to mean simply conductive pathways, as one skilled in the art will readily understand, and is not limited to elements that are strictly linear, but includes pathways that change direction, and includes pathways of different size, shape, materials, etc. Additionally, the drive lines 322 and sense lines 323 can be formed from smaller electrodes coupled together to form drive lines and sense lines. Drive lines 322 can be driven by stimulation signals from the transmit circuitry 214 through a drive interface 324, and resulting sense signals generated in sense lines 323 can be transmitted through a sense interface 325 to sense channels of receive circuitry 208 (also referred to as an event detection and demodulation circuit) in touch controller 206. In this way, drive lines and sense lines can be part of the touch sensing circuitry that can interact to form capacitive sensing nodes, which can be thought of as touch picture elements (touch pixels), such as touch pixels 326 and 327. This way of understanding can be particularly useful when touch screen 320 is viewed as capturing an “image” of touch. In other words, after touch controller 206 has determined whether a touch has been detected at each touch pixel in the touch screen, the pattern of touch pixels in the touch screen at which a touch occurred can be thought of as an “image” of touch (e.g., a pattern of fingers or other objects touching the touch screen).

It should be understood that the row/drive and column/sense associations can be exemplary, and in other examples, columns can be drive lines and rows can be sense lines. In some examples, row and column electrodes can be perpendicular such that touch nodes can have x and y coordinates, though other coordinate systems can also be used, and the coordinates of the touch nodes can be defined differently. It should be understood that touch screen 220 can include any number of row electrodes and column electrodes to form the desired number and pattern of touch nodes. The electrodes of the touch sensor panel can be configured to perform various scans including some or all of row-column and/or column-row mutual capacitance scans, self-capacitance row and/or column scans, row-row mutual capacitance scans, column-column mutual capacitance scans, and stylus scans. The stylus scan can include one or more sub-scans as will be described below.

Additionally or alternatively, the touch screen can include touch sensing circuitry including an array of pixelated touch sensors. FIG. 4 illustrates an example touch screen including touch sensing circuitry configured as pixelated touch sensors according to examples of the disclosure. Touch screen 420 can include touch sensing circuitry that can include a capacitive sensing medium having a plurality of electrically isolated touch sensors, such as touch pixel 422 (e.g., a pixelated touch screen). For example, in a self-capacitance configuration, pixelated touch sensors 422 can be coupled to sense channels in receive circuitry 208 in touch controller 206, can be driven by stimulation signals from the sense channels (or transmit circuitry 214) through drive/sense interface 425, and can be sensed by the sense channels through the drive/sense interface as well, as described above. Labeling the conductive plates used to detect touch (i.e., pixelated touch sensors 422) as “touch pixel electrodes” can be particularly useful when touch screen 420 is viewed as capturing an “image” of touch. In other words, after touch controller 206 has determined an amount of touch detected at each pixelated touch sensor 422 in touch screen 420, the pattern of pixelated touch sensors in the touch screen at which a touch occurred can be thought of as an “image” of touch (e.g., a pattern of fingers or other objects touching the touch screen). The pixelated touch screen can be used to sense mutual capacitance and/or self-capacitance. It should be understood that touch screen 220 can include any number of pixelated touch sensors to form the desired number and resolution of touch sensors. The electrodes of the touch sensor panel can be configured to perform various scans including some or all of mutual capacitance scans, self-capacitance scans, and stylus scans. The stylus scan can include one or more sub-scans as will be described below.

As described herein, in addition to performing touch scans to detect an object such as a finger or a passive stylus, computing system 200 can also perform stylus scans to detect an active stylus and can communicate with a stylus. For example, an active stylus can be used as an input device on the surface of a touch screen of touch-sensitive device. FIG. 5 illustrates an example active stylus according to examples of the disclosure. Stylus 500 can include one or more electrodes 502, which can be located, for example, at a distal end of the stylus (e.g., the tip of the stylus). As illustrated in FIG. 5, stylus 500 can include a tip electrode 501 and a ring electrode 503. Tip electrode 501 can include a material capable of transmitting the stylus stimulation signal from stylus stimulation circuitry 504 to the touch-sensitive device, such as a flexible conductor, a metal, a conductor wrapped by a non-conductor, a non-conductor coated with a metal, a transparent conducting material (e.g., indium tin oxide (ITO)) or a transparent non-conductive material (e.g., glass) coated with a transparent (e.g., ITO) or opaque material, or the like. In some examples, the stylus tip can have a diameter of 2 mm or less. In some examples, the stylus tip can have a diameter between 1 mm and 2 mm. Ring electrode 503 can include a conductive material, such as a flexible conductor, a metal, a conductor wrapped by a non-conductor, a non-conductor coated with a metal, a transparent conducting material (e.g., ITO) or a transparent non-conductive material (e.g., glass) coated with a transparent (e.g., ITO) or opaque material, or the like. In some examples, a transparent stylus tip and/or ring electrode can be used for projection purposes.

Stylus 500 can also include stylus stimulation circuitry 504. Stylus stimulation circuitry 504 can be configured to generate one or more stylus stimulation signals at the one or more electrodes 502 to stimulate a touch-sensitive device. For example, stylus stimulation signals can be coupled from stylus 500 to the touch sensing circuitry of touch screen 220, and the received signals can be processed by the touch ASIC 201. The received signals can be used to determine a location of active stylus 500 at the surface of touch screen 220. In some examples, the received signals can include encoded data. Host device 200 can perform stylus scans, as will be described below, to receive the stimulation signals and decode the data.

The operation of stylus stimulation circuitry 504 can be controlled by a processor 506. For example, the processor can be configured to communicate with the stylus stimulation circuitry to control the generation of stimulation signals. In some examples, the communication between the processor and stylus stimulation circuitry can be accomplished via an SPI bus, and the stylus stimulation circuitry can operate as an SPI slave device. In some examples, the stylus 500 can include more than one processor, and stylus stimulation circuitry 504 can include one or more processors. In some examples, one or more of the stylus functions described herein can be performed by firmware stored in memory or in program storage (not shown) and executed by processor 506 or a processor in stylus stimulation circuitry 504. In some examples, processor 506 can encode data into one or more stylus stimulation signals generated by stylus stimulation circuitry 504. The data can be frequency modulated, phased modulated, amplitude modulated or encoded in some other way. In some examples, the data can be indicative of a status of one or more buttons/and or sensors 508 as will be described below. In some examples, the data can be indicative of a status of the stylus itself or be used to establish a wireless communication channel (e.g., Bluetooth) between stylus 500 and host device 200.

In some examples, stylus 500 can also include one or more buttons and/or sensors 508. In some examples, buttons and/or sensors 508 can include a force sensor to detect the amount of force at the tip of the stylus 500. For example, when the stylus tip is touching touch screen 220, the force sensor can measure the force at the stylus tip. Information from one of the one or more sensors and/or buttons 508 can be stored in the stylus (e.g., in a memory (not shown)) and/or transmitted (via a wired connection or via a wireless communication channel) to the computing system 200. For example, the information can be communicated to host processor 228 or touch ASIC 201 in computing system 200. Sensor and/or button information and corresponding location information can be processed together by host processor 228 and/or touch ASIC 201.

In some examples, the one or more buttons and/or sensors 508 can be coupled to processor 506. Processor 506 can process information from the one or more buttons and/or sensors 508 and, based on the force information, control stylus stimulation circuitry 504 to generate or not generate stylus stimulation signals. For example, the processor can cause stylus stimulation circuitry 504 to generate no stylus stimulation signals when no force is detected or when the force is below a threshold level. When a force (or a force at or above the threshold level) is detected (e.g., corresponding to touch-down of the stylus), the processor can cause stylus stimulation circuitry 504 to generate stylus stimulation signals and continue generating stylus stimulation signals until the detected force drops below the threshold level (or some other threshold level). In some examples, stylus stimulation circuitry 504 can generate stylus stimulation signals indicative of a status of the one or more sensors and/or buttons 508. For example, the data can be encoded in the stylus stimulation signals as discussed above.

Stylus 500 can also include a wireless communication circuit 510, although in some examples the wireless communication functionality can be incorporated into other modules within the stylus 500, and in other examples the stylus can communicate via a wired connection. Wireless communication circuit 510 can transmit the button and sensor information from the stylus 500 to the wireless communication circuitry of computing system 200 via a wireless communication channel (e.g., Bluetooth). The wireless communication circuit 510 can also receive other information including, but not limited to, information about stylus stimulus frequencies, scan plan information (i.e., the sequence of scans to be performed by the touch-sensitive device) and clock synchronization information. In some examples, information, such as information about stylus stimulation frequencies and scan event plans, can be transmitted from touch ASIC 201 to the wireless communication unit of computing system 200 via host processor 228. In other examples, information, such as clock synchronization information, can be communicated directly from touch ASIC 201 to wireless communication unit of computing system 200.

FIG. 6 illustrates an example touch sensor panel configuration operable with the touch ASIC of FIG. 2 to perform a stylus scan according to examples of the disclosure. During a stylus scan, one or more stimulation signals can be injected by stylus 604 proximate to one or more touch nodes 606. The stimulation signals injected by stylus 604 can create capacitive coupling Cxr between the stylus 604 and one or more row traces 601 and capacitive coupling Cxc between the stylus 604 and one or more column traces 602 corresponding to the one or more proximate touch nodes 606. The capacitive coupling Cxr and Cxc between the stylus 604 and the one or more touch nodes 606 can vary based on the proximity of stylus 604 to the one or more touch nodes 606. During the stylus scan, the transmit circuitry 214 can be disabled, i.e., no stimulation signals Vstim from the touch controller are sent to touch sensor panel 600. The capacitive coupling (e.g., mutual capacitance) can be received by the receive circuitry 208 from the row and column traces of the one or more touch nodes 606 for processing. As described herein, in some examples the one or more stylus stimulation signals can have one or more frequencies indicative of or encoding a status of a sensor (e.g., a force sensor, motion sensor, orientation sensor), a button or switch, and/or a status of the stylus itself (e.g., battery life).

In some examples, one or more multiplexers can be used to couple row and/or column electrodes to the receive circuitry and/or transmit circuitry. For example, during a mutual capacitance touch sensing scan, row traces can be coupled to the transmit circuitry and column traces can be coupled to the receive circuitry. During a stylus sensing scan, column traces (or row traces) can be coupled via the one or more multiplexers to the receive circuitry to detect input from a stylus or other input device along one axis of the touch screen, and then the row traces (or column traces) can be coupled via the one or more multiplexers to the receive circuitry to detect input from a stylus or other input device along a second axis of the touch screen. The detected input can be used to determine the location of contact between a stylus or other input device and the touch sensor panel. In some examples, the row and column traces can be sensed simultaneously (i.e., both row and column traces concurrently coupled to the receive circuitry). In some examples, the stylus can be detected on the column traces concurrently with the mutual capacitance scan touch sensing scan. The touch and stylus signals can be differentiated by filtering and demodulating the received response signals at different frequencies. In some examples, a subset of detected input can be sampled therefrom and data encoded in a stylus stimulation signal can be detected and decoded, as will be described below.

FIG. 7 illustrates an example touch sensor panel configuration operable with the touch ASIC of FIG. 2 to perform a stylus scan according to examples of the disclosure. For example, a stylus 702 can provide an input to touch sensor panel 700. In some examples, a touch sensor panel, such as touch sensor panel 700, can include an array of electrically isolated pixelated touch sensors 710, similar to pixelated touch sensor 422. During a stylus scan, one or more stimulation signals injected by stylus 702 can create capacitive coupling Cx between the stylus 702 and a touch sensor 712 included in panel 700. The capacitive coupling Cx between the stylus 702 and the touch sensors 710 can vary based on the proximity of stylus 702 to the touch sensors 710, for example. During the stylus scan, the transmit circuitry 214 can be disabled as described above, for example. In some examples, one or more stylus stimulation signals can have one or more frequencies indicative of or encoding a status of a sensor (e.g., a force sensor, motion sensor, orientation sensor), a button or switch, and/or a status of the stylus itself (e.g., battery life).

In some examples, one or more multiplexers can be used to couple one or more touch sensors of the array of touch sensors to receive and/or transmit circuitry. For example, to sense touch from a finger or passive stylus, one or more touch sensors can be stimulated and sensed. A resulting change in the self-capacitance to ground can indicate an object touching or proximate to the one or more touch sensors, for example. During a stylus scan, one or more touch sensors can be coupled via one or more multiplexers to receive circuitry to detect input from a stylus or other input device at the touch screen. The detected input can be used to determine the location of contact and/or proximity between a stylus or other input device and the touch sensor panel. In some examples, a subset of detected input can be sampled therefrom and data encoded in a stylus stimulation signal can be detected and decoded, as will be described below.

In summary, during a stylus scan, the transmit circuitry 214 can be disabled, i.e., no stimulation signals Vstim are sent to a touch sensor panel, according to the examples described with reference to FIGS. 1-4 and 6-7, while some or all of the touch sensors can be coupled to the receive circuitry. In some examples, touch sensors can be arranged as intersecting rows and columns, such as the examples of FIGS. 3 and 6. In some examples, touch sensors can be arranged in a pixelated array, such as the examples of FIGS. 4 and 7. The receive circuitry 208 can receive and process stylus signals from some or all of the touch sensors of the touch sensor panel in order to determine a location of the stylus. In some examples, a subset of touch sensors can also be sampled to collect encoded data in the stylus stimulation data, as will be described in more detail below.

In addition to communicating via a capacitive channel (e.g., through stylus signals received at one or more touch sensors), in some examples, an input device (e.g., stylus) and a host device can communicate over a wireless communication channel, such as Bluetooth, WiFi, or any other suitable protocol. One or more of these communication methods may require an initial “pairing” operation before data can be exchanged. In some examples, a wired connection can be used to perform a pairing operation. FIG. 8 illustrates an example pairing operation 800 between a stylus 810 and a host device 820 via a wired connection 830 according to examples of the disclosure. Once connected via wired connection 830, data can be exchanged between the stylus 810 and the host device 820 to establish a wireless communication channel. After pairing is complete, wired connection 830 can be terminated and stylus 810 and host device 820 can communicate via a wireless communication channel.

In some examples, the pairing operation can be performed without a wired connection between the stylus and host device. For example, when the stylus 500 is not paired with computing system 200, the stylus can transmit information for setting up a wireless communication channel (e.g., Bluetooth, WiFi, etc.) via stimulation signals received at the touchscreen to the computing system 200. The information for setting up the wireless communication channel can be encoded in the stylus stimulation signals. Once the wireless communication channel has been established, the stylus can stop encoding and transmitting the pairing information. The stylus 500 can produce a plurality of stimulation frequencies to transmit frequency-encoded data, for example. In some examples, other encoding schemes, such as phase modulation and/or amplitude modulation, are possible.

In some examples, a wireless communication channel can be used to transmit data from one or more sensors (e.g., a force sensor, motion sensor, orientation sensor) of the stylus, a status of one or more switches included in the stylus, and/or a status of the stylus 810 itself. For example, a battery life of the stylus 810 can be transmitted. While using a wireless communication channel for data transmission, the touch sensor panel 820 can receive stimulation signals from the stylus 810 via a plurality of capacitive touch sensors. Although receiving data through a dedicated wireless communication channel can simplify the hardware of the touch sensitive display, as data receive channels and decoders are not necessary, user experience can suffer due to high latency of data transmission. For example, a user may apply various amounts of force while drawing a line with stylus 810 on the surface of host device 820 to change a thickness of the line. When there is high latency caused by a wireless communication channel between stylus 810 and host device 820, the user can experience a delay between drawing a line and observing the line's thickness change. Additionally, using a wired connection 830 for pairing requires user action before a wireless communication channel can be established.

In some examples, an active stylus can encode data in a stimulation signal received by a host device. The data can include information for setting up a wireless communication channel (e.g., Bluetooth) with the host device, replacing the need for a wired setup as described above with reference to FIG. 8. Performing a pairing operation via stylus stimulation signals can be more convenient for a user of the stylus and host device than pairing via a wired connection, thereby providing a seamless and intuitive user experience. In some examples, once a wireless communication channel is established, the host device and the stylus can exchange data via a two-way communication channel. The data can include data from one or more sensors of the stylus, a status of the stylus (e.g., battery life), or other data. In some examples, this data can be encoded in the stylus stimulation signal for one-way communication from the stylus to the host device. In some examples, transferring data by encoding it in a stimulation signal can be faster than transferring data through a two-way wireless communication channel such as Bluetooth. Additionally, transferring data by encoding it in a stimulation signal can provide for improved processing of the data with stylus location information by reducing the latency between receipt of the data (e.g., force) and stylus location information. In some examples, some data can be transferred both through the capacitive interface using stylus stimulation signals and some data via a wireless communication channel such as Bluetooth. For example, time-sensitive data can be transferred through the capacitive interface (e.g., force or tilt data can be provided via the capacitive interface along with location information to enable co-processing), where other types of data can be transferred via the wireless communication channel (e.g., stylus battery power state).

In some examples, a stylus can transmit encoded data via a stylus stimulation signal. The signal can be sampled by the host device at one or more capacitive touch sensors, such as those described above. In some examples, different circuitry can be used to decode stylus data and to detect the presence and location of a stylus. In some examples, each sense channel of the receive circuitry can include decoding circuitry (a decoding channel) configured to decode stylus data. Decoding circuitry for each sense channel, however, can add cost and increase power and/or space consumption for the receive circuitry. Alternatively, fewer decoding circuits or channels can be used in some examples. For example, the touch sensors can be coupled to the fewer decoding channels or the signals sampled from the touch sensors can be combined (e.g., averaged) before processing by the decoding channels. Coupling or otherwise combining touch sensors or signals from touch sensors can reduce hardware requirements, but can be detrimental to SNR. In some examples, fewer decoding channels can be used while also preserving SNR, by intelligently selecting a subset of touch sensors (or sense channels measuring the subset of touch sensors) proximate to the stylus during data transmission to be sampled and decoded by decoding circuitry, as will be described below. Although often described herein as implemented using hardware, in some examples the decoding function can also be performed using firmware or software.

In some examples, a host device can perform a stylus scan including multiple sub-scans to locate a stylus and receive data encoded in the stylus' stimulation signal. During one or more coarse stylus sub-scans, the host device can determine a coarse image of stylus touch for the touch panel and determine a coarse location of the panel at which the stylus can be located. FIGS. 9A-9C illustrate exemplary coarse stylus sub-scans according to examples of the disclosure. In FIG. 9A, an exemplary touch sensing system can perform a coarse stylus sub-scan of an array of pixelated touch sensors (e.g., sensor 912) forming touch sensor panel 910 to determine an approximate location of stylus 920. In some examples, the touch sensing system can couple multiple pixelated touch sensors (e.g., touch sensors 912) of touch sensor panel 910 into larger groups (e.g., region 914) to be scanned by sense channels, for example. During a coarse stylus sub-scan, the touch sensing system can determine a coarse location of stylus 920 to be within one of the groups of sensors (e.g., a region of touch sensor panel 910), for example. Once the stylus 920 is coarsely located, the touch sensing system can perform a fine stylus sub-scan to determine stylus location with more particularity and/or to receive encoded data, for example.

In some examples, data encoded in a stylus signal can be detected by a touch sensor panel including touch sensors arranged in intersecting rows and columns. FIG. 9B illustrates an exemplary touch sensing system performing a coarse stylus sub-scan in a first dimension of touch sensor panel 940, for example. In FIG. 9B, touch sensors disposed in rows can be sensed, and therefore the sub-scan can also be referred to as a coarse stylus row sub-scan. In some examples, touch sensor panel 940 can receive stimulation signals from active stylus 950. During a coarse stylus row sub-scan, touch sensor panel 940 can couple a plurality of touch sensors (e.g., sensor 942) disposed in rows into groups (e.g., group 944) to be sensed by sense channels, for example. In some examples, the coarse stylus row sub-scan can include sampling a self-capacitance of one or more touch sensor groups included in touch sensor panel 940 to determine a coarse location of active stylus 950 in one sensor group, for example. Once the stylus 950 is located coarsely in one dimension (along the rows), the touch sensing system can perform a fine stylus sub-scan in one dimension (or fine stylus row sub-scan) to determine stylus location with more particularity and to receive encoded data, for example. In some examples, a fine stylus row sub-scan can include sampling a self-capacitance of touch sensors arranged in rows individually or in smaller groups than scanned during the coarse stylus row sub-scan. In some examples, a fine stylus row sub-scan can include sampling a self-capacitance of touch sensors in the identified group of touch sensors proximate to the stylus 950. In either example, the fine stylus row sub-scan can include sampling and decoding data from the touch sensors in the identified group. By decoding data from a subset of touch sensors proximate to active stylus 950, a small number of decoder channels can be provided while also preserving signal integrity and signal to noise ratio (SNR). Methods and hardware for sampling and decoding encoded stylus data will be described.

FIG. 9C illustrates an exemplary touch sensor panel 970 performing a coarse detection scan in a second dimension, for example. In FIG. 9C, touch sensors disposed in columns can be sensed, and therefore the sub-scan can also be referred to as a coarse stylus column sub-scan. In some examples, touch sensor panel 970 can receive stimulation signals from active stylus 980. During a coarse stylus column sub-scan, touch sensor panel 970 can couple a plurality of touch sensors (e.g., sensor 972) disposed in columns into groups (e.g., group 974) to be sensed by sense channels, for example. In some examples, the coarse stylus column sub-scan can include sampling a self-capacitance of one or more touch sensor groups included in touch sensor panel 970 to determine a coarse location of active stylus 980 in one sensor group, for example. Once the stylus 980 is located coarsely in one dimension (along the columns), the touch sensing system can perform a fine stylus sub-scan in one dimension (or fine stylus column sub-scan) to determine stylus location with more particularity and to receive encoded data, for example. In some examples, a fine stylus column sub-scan can include sampling a self-capacitance of touch sensors arranged in rows individually or in smaller groups than scanned during the coarse stylus column sub-scan. In some examples, a fine stylus column sub-scan can include sampling a self-capacitance of touch sensors in the identified group of touch sensors proximate to the stylus 980. In either example, the fine stylus column sub-scan can include sampling and decoding data from the touch sensors in the identified group. By decoding data from a subset of touch sensors proximate to active stylus 980, a small number of decoder channels can be provided while also preserving signal integrity and improving a signal to noise ratio (SNR). Methods and hardware for analyzing encoded stylus data will be described.

To continue to track the location of a powered stylus and collect encoded data from a stylus signal at one or more touch sensors proximate to the stylus tip, a touch sensor panel can perform a sequence of the above described stylus sub-scans, for example. FIG. 10 illustrates an example timing diagram 1000 for stylus activity 1002 and touch sensor panel activity 1004, according to examples of the disclosure. In some examples, an active stylus can use frequency modulation to transmit encoded data to a host device. Stylus signal 1002 includes a transmission at a first frequency f0 and a transmission at a second frequency f1, for example. In some examples, two frequencies can be used to transmit data in a binary code. In some examples, a stylus signal 1002 can include more than two different frequencies to encode data.

A touch sensing system (e.g., touch controller) can perform various types of stylus sub-scans according to timing 1004, for example. In some examples, one or more coarse detection sub-scans, such as a coarse stylus row sub-scan (“ROW DETECT”) or coarse stylus column sub-scan (“COLUMN DETECT”) can be used to coarsely detect stylus location along one or both axes. In some examples, one or more fine detection sub-scans, such as fine stylus row sub-scan (“ROW FREQ. ESTIMATION & POSITION”) and fine stylus column sub-scan (“COL FREQ. ESTIMATION AND POSITION”) can be performed to finely track stylus location and to decode stylus signals at sensors proximate to the determined stylus location. In some examples, a coarse stylus location along a group of rows can be detected during “ROW DETECT”. Once the stylus is coarsely located, a plurality of sensors proximate to the stylus (e.g., those within the group and/or proximate to the group) can be sampled for further analysis during “ROW FREQ. ESTIMATION & POSITION,” for example, to determine a fine location of the stylus along the rows and/or decode data encoded in the stylus stimulation signals. A coarse stylus location along a group of columns can be similarly detected during “COL DETECT,” and selected columns (e.g., those within the group and/or proximate to the group) can similarly be sampled during “COL FREQ. ESTIMATION & POSITION,” for example, to determine a fine location of the stylus along the columns and/or decode data encoded in the stylus stimulation signals. In some examples related to a touch sensor panel including a pixelated array of touch sensors, a two-dimensional coarse stylus sub-scan can be performed to determine a coarse location of the stylus followed by a fine stylus sub-scan to determine a fine location of the stylus and/or decode data encoded in the stylus stimulation signals.

It should be understood that the sequence of stylus sub-scans in FIG. 10 is exemplary. In some examples, COL DETECT followed by COL FREQ. ESTIMATION & POSITION can be performed before ROW DETECT and ROW FREQ. ESTIMATION & POSITION. In some examples, ROW DETECT and COL DETECT can be performed followed by ROW FREQ. ESTIMATION & POSITION and COL FREQ. ESTIMATION & POSITION. In some examples, encoded data can be transmitted/decoded during only one ROW FREQ. ESTIMATION & POSITION or COL FREQ. ESTIMATION & POSITION. In other examples, as described above, encoded data can be transmitted/decoded during each of the ROW FREQ. ESTIMATION & POSITION and COL FREQ. ESTIMATION & POSITION. In some examples, one or more fine stylus sub-scans, such as COL FREQ. ESTIMATION & POSITION and/or ROW FREQ. ESTIMATION & POSITION, can be repeated without interleaving a coarse scan, such as ROW DETECT and/or COL DETECT, in between.

The sequence of stylus sub-scans (e.g., as illustrated in FIG. 10) can be performed continuously (e.g., once per stylus sensing frame). In some examples, the sequence of stylus sub-scans can be performed periodically (e.g., every N sensing frames, once per second, etc.). In some examples, when a coarse stylus sub-scan fails to detect a stylus, the fine stylus sub-scans can be aborted. Analysis of collected stylus data will be described below.

In some examples, a touch sensing system can perform additional scans interleaved with the stylus sub-scans described above. In some examples, a touch sensing system can perform touch detection scans for detecting a touch or hover of a finger or other conductive object. Unlike a powered stylus, a finger or other conductive object may not produce a stimulation signal to be coupled to one or more touch sensors included in a touch sensor panel. Therefore, in some examples, the one or more touch detection scans can include applying a stimulation signal to sense a mutual or self-capacitance of one or more touch sensors. Touch scans can include a coarse touch detection scan and a fine touch detection scan to determine a coarse and fine location of a conductive object, for example. In some examples, the coarse and fine touch scans can include coupling one or more touch sensors to a stimulation signal.

In some examples, a fine stylus scan can be any stylus scan that provides information about stylus touch events with a higher resolution than a given corresponding coarse stylus scan (i.e., a fine stylus row sub-scan can be higher resolution than a corresponding coarse stylus row sub-scan, and a fine stylus column sub-scan can be a higher resolution than a corresponding coarse stylus column sub-scan). As described herein, resolution of a scan can be understood in terms of the number of capacitive measurements representing a corresponding group of electrodes of a touch sensor panel. For example, self-capacitance for a 4×4 array of touch nodes (16 touch nodes) can be represented by 16 self-capacitance measurements (e.g., one self-capacitance measurement for each node measured by a sense channel), 4 self-capacitance measurements (e.g., one self-capacitance measurement for groups four nodes each measured by a sense channel), or a single self-capacitance measurement (e.g., one self-capacitance measurement for a group of all the nodes coupled to a single sense channel). These numbers of measurements are only exemplary, but it is understood that 16 self-capacitance measurements for 16 touch nodes can provide higher resolution (finer detail) than 4 measurements or a single measurement, respectively. Likewise, mutual capacitance for a 4×4 array of touch nodes (16 touch nodes) can be represented by 16 mutual capacitance measurements (e.g., four mutual capacitance measurements for each group of 4 electrodes, with each electrode in the group acting as a sense electrode), 8 mutual capacitance measurements (e.g., two mutual capacitance measurements for each group of 4 electrodes, with two of the electrodes in the group acting as a sense electrode), 4 mutual capacitance measurements (e.g., one mutual capacitance measurement for each group of 4 electrodes, with one electrode in the group acting as a sense electrode), or a single mutual capacitance measurement (e.g., one mutual capacitance measurement for all 16 electrodes, with a group of electrodes acting as a sense electrode coupled to one sense channel). These numbers of measurements are only exemplary, but it is understood that 16 mutual capacitance measurements for 16 touch nodes can provide higher resolution (finer detail) than 4 measurements or a single measurement, respectively.

In some examples, a touch sensitive device can include circuitry for analyzing encoded stylus data. In some examples, analysis can be performed using hardware, software, or firmware. FIG. 11A illustrates exemplary stylus signal analysis hardware 1100 for decoding stylus data according to examples of the disclosure. Stylus signal analysis hardware 1100 can be used to analyze collected data from one or more touch sensors proximate to a stylus during a fine stylus sub-scan, as described above, for example. In some examples, once stylus location is coarsely determined, proximate touch sensors (or sense channels measuring proximate touch sensors) can be selected at multiplexers 1110, for example. During a fine stylus sub-scan, stylus location can be more finely resolved and a subset of sensors proximate to the stylus (e.g., as determined by the coarse stylus sub-scan) can be selected to sample encoded data. In some examples, coarsely and finely resolving stylus location can include generating an “image of touch” representative of stylus presence at the touch sensor panel. In some examples, selecting one or more touch sensors using multiplexers 1110 based on an image of touch can be advantageous over receiving stylus data at all touch sensors on a panel, as described above. For example, providing a dedicated decoding channel for receiving and decoding stylus data for each sense channel can be expensive from a hardware perspective (cost, power, area, etc.). Instead, fewer decoding channels can be used, and the touch sensors (or sense channels) to sample for decoding stylus data can be intelligently selected using multiplexers 1110. Fewer decoding channels can reduce hardware requirements (reducing cost, power, and area) and meet SNR requirements for the decoding channels, for example.

In examples where a powered stylus encodes data using frequency modulation, a spectrum can be determined for received data at correlation engines 1120. FIG. 11B illustrates an exemplary correlation engine 1120 in detail according to examples of the disclosure. In some examples, correlation engines 1120 can include a plurality of demodulators 1122, and each demodulator can be configured to demodulate a received signal at a selected frequency. In some examples, multiple frequencies, such as f1-f5 illustrated in FIGS. 11A-11B, can be selected corresponding to a range of frequencies the stylus can use to encode data. It should be understood that a fewer or more frequencies can be provided to encode data. Although correlation engine 1120 is illustrated including demodulators 1122 to demodulate frequency-encoded data, other hardware can be included to process a stylus signal including data encoded in a different way. For example, demodulators 1122 can be provided with a plurality of signals with different phases to determine a phase of a received signal including phase-encoded data. In some examples, a plurality of comparators can be provided, each one coupled to a signal with a different amplitude to determine an amplitude of a received signal including amplitude-encoded data. The results 1124 of each of the demodulators 1122 can be stored in buffers 1126 and 1127 to capture and analyze several frames of data, for example. In some examples, demodulating a received signal with multiple demodulators across a range of frequencies can determine a frequency spectrum of a stylus stimulation signal. By determining and storing transmitted frequencies, frequency-encoded stylus data can be decoded.

FIG. 12 illustrates an example block diagram of a touch sensing system including position-based data decoding according to examples of the disclosure. The elements of system 1200 can be included, for example, as part of the touch ASIC 201. In some examples, a stimulation signal can be captured at touch sensors 1210 incorporated into a touch-sensitive display. Touch sensors 1210 can be arranged in intersecting rows and columns, as described with reference to FIGS. 3, 6 and 9B-9C for example. Alternatively, in some examples, touch sensors 1210 can be arranged in a pixelated array, as described with reference to FIGS. 4, 7 and 9A, for example. In some examples, a coarse stylus sub-scan can sample subsets of the touch sensors 1210 in multiple steps using multiplexer 1220. Collected data can be processed by sense channels 1230, for example. In some examples, each sense channel can include an amplifier 1232 and an analog-to-digital converter (ADC) 1234. In some examples, other components can be included in sense channels 1230 (e.g., anti-aliasing filters). Sense channels 1230 can be implemented using hardware, software, firmware, or a combination thereof. The outputs of sense channels 1230 can be processed by digital signal processing units (DSPs) 1240, for example. DSPs 1240 can perform operations such as filtering and determining changes in capacitance at each touch sensor 1210, for example. To determine changes in capacitance at the touch sensors 1210, DSPs 1240 can include demodulators (not shown). The demodulators can perform digital demodulation on the output of the ADCs. The demodulators can also include a programmable or non-programmable delay to align the phase of the ADC output with the demodulation waveform, a mixer (e.g., signal multiplier) to mix the ADC output with the demodulation waveform, and an accumulator (e.g., an integrator) to accumulate the output from mixer. Although not shown, the accumulated output from the integrator can be scaled, decoded (e.g., in multi-stim touch sensing schemes) to generate result which can be stored in a memory (e.g., RAM 212) for further processing.

In some examples, the outputs from the DSPs 1240, taken together, can be viewed as an “image of touch” 1250, indicative of which location(s) on the panel a stylus (and/or finger) is touching. Based on an image of touch 1250, a position estimation engine 1260 can select one or more touch sensors 1210 (or sense channels 1230) proximate to the stylus, in some examples. Position estimation engine 1260 can be a dedicated processor or other hardware component or software or firmware executed by a multi-purpose processor, such as touch processor(s) 202, for example. In some examples, position estimation engine 1260 can be a combination of firmware or software and hardware or a state machine. In some examples, the position estimation engine 1260 can select one or more touch sensors 1210 (or sense channels 1230) to use for stylus data sampling. The output of the selected one or more sensors can be coupled to multiplexers 1270 for further processing and decoding. In some examples, data collection at sense channels 1230 is not limited to sampling the selected one or more sensors. Touch and/or stylus location scanning can continue for all or part of the panel while selected sense channels are additionally sampled to decode stylus data, for example. Signals selected by multiplexers 1270 can further be analyzed by stylus data processing hardware 1280 to decode data encoded in a stylus stimulation signal, for example. In some examples, each multiplexer of the plurality of multiplexers 1270 can be routed to all ADC outputs to select one sense channel among all sense channels on the panel. In some examples where a plurality of channels are selected to be analyzed at the same time, the multiplexers 1270 may be wired using fewer connections. For example, if the system analyzes data from three sense channels in parallel, each multiplexer 1270 may select one sense channel of one third of all sense channels incorporated into the panel, as no two multiplexers 1270 would need to simultaneously select the same channel. Dividing the available sense channels into groups such that each sense channel can only be selected by a subset of the plurality of multiplexers 1270 can reduce the number of connections needed between the ADC outputs and the multiplexers. In some examples, stylus data processing hardware 1280 can include one or more correlation engines 1120 for determining a frequency spectrum of a received signal. In some examples, one or more of position estimation engine 1260, multiplexers 1270, and stylus data processing hardware 1280 can reside on a dedicated hardware device that can be coupled to an existing touch-sensing system.

In some examples, a dedicated hardware block can be provided to analyze data encoded in a stylus stimulation signal, such as stylus data processing hardware 1280. Using hardware to process the stylus data can reduce latency between a user action (e.g., applying force, toggling a button or switch, etc.) and a response by the host device associated with the action, for example. In some examples, however, software or firmware can be used to analyze stylus stimulation signals. FIGS. 13A-13B illustrate exemplary stylus data processing hardware 1310 and 1350 according to examples of the disclosure. In some examples, stylus data processing hardware 1310 can receive input 1312 selected by position estimation engine 1260 via multiplexers 1270. FIG. 13A illustrates an example stylus data processing hardware unit 1310 including a plurality of correlation engines 1316 according to examples of the disclosure. In some examples, each channel of data can be input to a separate correlation engine 1316. Correlation engines 1316 can be hardware components similar to correlation engine 1120 and/or implemented in software or firmware (e.g., executed by touch processor 202). The resulting frequency spectrums from correlation engines 1316 can be input to adder 1318 to determine an estimated frequency of a stylus stimulation signal. It should be understood that adder 1318 is merely one example of a function used to combine the frequency spectrums from the correlation engines 1316. In some examples, a median, a maximum SNR, a maximum peak signal, or other function may be computed to select the data to be decoded. The stylus stimulation frequency can be used to decode data encoded by the stylus, for example. FIG. 13B illustrates an example stylus data processing hardware unit 1350 that can sum selected signals 1352 before determining a spectrum with correlation engine 1356. Selected signals 1352 may be provided by a position estimation engine 1260 via multiplexers 1270, for example. In some examples, correlation engine 1356 may be implemented using hardware similar to correlation engine 1120 and/or implemented using software or firmware (e.g., executed by touch processor 202). By summing input signals 1352 before performing spectral analysis with correlation engine 1356, fewer correlation engines can be included in stylus data processing hardware 1350 thereby reducing hardware requirements (area, power, cost), for example. Stylus processing hardware 1310, however, can have an improved SNR compared with stylus processing hardware 1350 because correlation is performed before summing, whereas stylus processing hardware 1350 sums the noise from the inputs first before correlation. As a result, a plurality of correlation engines 1316 can reduce frequency content resulting from noise, for example.

In some examples, a combination of stylus processing hardware 1310 and stylus processing hardware 1350 can be used. For example, stylus data from multiple groups of selected touch sensors can be summed and then analyzed with one or more correlation engines. For example, nine touch sensors (or sense channels) proximate to the stylus can be selected and coupled into three groups of three sensors prior to demodulation. In this example, the three frequency spectra (each indicative of a sum of data from three touch sensors) can be summed by an additional adder and then decoded. A multi-staged stylus processing hardware device can produce a tradeoff between SNR and cost, for example.

FIG. 14 illustrates an example process 1400 for decoding data included in a stylus stimulation signal according to examples of the disclosure. Process 1400 can be performed by a touch sensing system (e.g., by touch ASIC 201). In some examples, process 1400 can include determining a location of a stylus or other input device (e.g., stylus 500, 920 or 960). For example, the touch sensing system can perform one or more coarse detection scans, such as ROW DETECT and/or COL DETECT described with reference to FIG. 10 to determine a stylus location. In examples including an array of pixelated touch sensors, such as the examples shown in FIGS. 4, 7 and 9A, a coarse detection scan can also be performed to coarsely determine stylus location. The coarse location can be used to select touch sensors (or sense channels) to sample to decode stylus data. In some examples, a position estimation engine 1260 can output one or more signals to one or more multiplexers 1270 to select the one or more touch sensors (or sense channels) proximate to the stylus for sampling. At 1420, the touch sensing system can perform a fine scan to determine a fine stylus location and decode stylus data. The stylus data can be sampled from the selected touch sensors (or sense channels) selected based on the coarse location. At 1430, the selected signals from the selected touch sensors (or sense channels) can be analyzed (e.g., using stylus data analysis hardware 1280, 1310 or 1350). Additionally, the signals received from the sense channels can also be processed by the touch sensing system to determine the location of the stylus. In some examples, firmware or software (e.g., executed by processor 202) can be used for the stylus data analysis. In some examples, the data can be analyzed using one or more correlation engines 1120 including a plurality of demodulators 1122. The resulting demodulation 1124 can be used to determine a frequency spectrum of a stylus signal, for example. In some examples, the spectral analysis of the stylus data analysis hardware can be implemented in software or firmware to be executed by one or more processors (e.g., touch processor 202). For example, a frequency spectrum can be determined algorithmically (e.g., using FFT or one or more other known algorithms). In some examples, other data processing can be performed to decode data encoded in other ways. For example, an amplitude of a stylus signal can be determined before decoding amplitude-encoded data. In some examples, a phase of a stylus signal can be determined before decoding phase-encoded data. In general, many possible signal processing techniques to extract the desired information could be devised to decode data encoded in phase, frequency, amplitude, position, pulse width, waveform cross-section, spread-spectrum signature, etc. At 1440, stylus data can be decoded. For example, a frequency of a stylus stimulation signal can be determined to decode frequency-modulated data. In some examples, other methods of decoding/encoding are possible. For example, a stylus may use phase modulation, amplitude modulation, or another encoding scheme. In some examples, after decoding stylus data, data from the selected touch sensors can be used to re-estimate stylus location for a next stylus scan. In some examples, a new coarse detection scan can be performed to determine stylus location for the next stylus scan. Process 1400 can be repeated while a stylus is detected at a host device.

Therefore, according to the above, some examples of the disclosure are directed to a touch-sensitive device. The touch-sensitive device can comprise a plurality of sense channels configured to receive signals from an input device at a plurality of touch sensors; a plurality of digital signal processors coupled to outputs of the plurality of sense channels, the plurality of digital signal processors including a plurality of first demodulators configured to demodulate the received signals; a position estimation processor configured to estimate a location of the input device based on a first plurality of received signals processed by the plurality of digital signal processors, and configured to select a subset of the plurality of sense channels coupled to one or more touch sensors proximate to the input device based on the estimated location of the input device; and one or more correlators couplable to the selected subset of the plurality of sense channels. The one or more correlators can comprise a plurality of second demodulators. The second demodulators can be configured to demodulate a second plurality of received signals from the selected subset of the plurality of sense channels. The one or more correlators can be configured to determine frequency content of the demodulated signals. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the touch-sensitive device can further comprise one or more multiplexers configured to receive a signal indicative of the selected subset of the plurality of sense channels from the position estimation processor and couple the selected subset of the plurality of sense channels to the one or more correlators. Additionally or alternatively to one or more of the examples disclosed above, in some examples, a correlator of the plurality of correlators can further comprise an adder coupled to a plurality of outputs of the second demodulators, and the correlator can be configured to determine the frequency content of an output of the adder. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the first plurality of received signals can be received while the touch-sensitive device is configured in a first configuration, the first configuration including coupling two or more touch sensors of the plurality of touch sensors to each sense channel. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the second plurality of received signals can be received while the touch-sensitive device is configured in a second configuration, the second configuration including coupling one touch sensor of the plurality of touch sensors to each sense channel.

Other examples of the disclosure are directed to a method for decoding data transmitted by an input device. The method can comprise: receiving signals from the input device; estimating a location of the input device relative to a touch sensitive surface based on a first plurality of received signals; selecting one or more sense channels coupled to the touch sensitive surface based on the estimated location of the input device, the one or more selected sense channels sensing touch sensors of the touch sensitive surface proximate to the input device; and decoding encoded data from a second plurality of signals received at the selected one or more sense channels. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the method can further comprise demodulating the second plurality of signals with a plurality of demodulators. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the method can further comprise determining frequency content of the demodulated second plurality of signals. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the method can further comprise determining one of a sum, a median, a maximum peak, and a maximum signal-to-noise ratio of the demodulated second plurality of signals. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the method can further comprise receiving the first plurality of received signals during a first operation, the first operation comprising coupling two or more touch sensors of the touch sensitive surface to each sense channel. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the method can further comprise receiving the second plurality of received signals during a second operation, the second operation comprising coupling one touch sensor of the touch sensitive surface to each sense channel.

Some examples of the disclosure are directed to a non-transitory computer readable storage medium. The computer readable medium can store one or more programs, the one or more programs comprising instructions, which when executed by an electronic device including one or more processors, can cause the electronic device to perform a method. The method can comprise receiving signals from an input device; estimating a location of the input device relative to a touch sensitive surface based on a first plurality of received signals; selecting one or more sense channels coupled to the touch sensitive surface based on the estimated location of the input device, the one or more selected sense channels sensing touch sensors of the touch sensitive surface proximate to the input device; and decoding encoded data from a second plurality of signals received at the selected one or more sense channels. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the method can further comprise demodulating the second plurality of signals with a plurality of demodulators. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the method can further comprise determining frequency content of the demodulated second plurality of signals. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the method can further comprise determining one or more of a sum, a median, a maximum peak, and a maximum signal-to-noise ratio of the demodulated second plurality of signals. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the method can further comprise receiving the first plurality of received signals during a first operation, the first operation comprising coupling two or more touch sensors of the touch sensitive surface to each sense channel. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the method can further comprise receiving the second plurality of received signals during a second operation, the second operation comprising coupling one touch sensor of the touch sensitive surface to each sense channel.

Some examples of the disclosure are directed to an apparatus. The apparatus can comprise a position estimation processor configured to estimate a location of the input device based on a first plurality of signals received at a plurality of sense channels, and configured to select a subset of the plurality of sense channels coupled to one or more touch sensors proximate to the input device based on the estimated location of the input device; and one or more correlators couplable to the selected subset of the plurality of sense channels. The one or more correlators can comprise a plurality of demodulators. The demodulators can be configured to demodulate a second plurality of signals from the selected subset of the plurality of sense channel. The one or more correlators can be configured to determine frequency content of the demodulated signals. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the apparatus can further comprise one or more multiplexers coupled to one or more inputs of the correlators. The one or more multiplexors can be configured to: receive a signal indicative of the selected subset of the plurality of sense channels from the position estimation processor and couple the selected subset of the plurality of sense channels to the one or more correlators. Additionally or alternatively to one or more of the examples disclosed above, in some examples, a correlator of the plurality of correlators can further comprise an adder coupled to a plurality of outputs of the demodulators. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the first plurality of signals can be received while two or more touch sensors of the plurality of touch sensors are coupled to each sense channel. Additionally or alternatively to one or more of the examples disclosed above, in some examples, the second plurality of signals can be received while one touch sensor of the plurality of touch sensors is coupled to each sense channel.

Although examples have been fully described with reference to the accompanying drawings, it is to be noted that various changes and modifications will become apparent to those skilled in the art. Such changes and modifications are to be understood as being included within the scope of the various examples as defined by the appended claims. 

What is claimed is:
 1. A touch-sensitive device, comprising: a plurality of sense channels configured to receive signals from an input device at a plurality of touch sensors; a plurality of digital signal processors coupled to outputs of the plurality of sense channels, wherein the plurality of digital signal processors includes a plurality of first demodulators configured to demodulate the received signals; a position estimation processor configured to estimate a location of the input device based on a first plurality of received signals processed by the plurality of digital signal processors, and configured to select a subset of the plurality of sense channels coupled to one or more touch sensors proximate to the input device based on the estimated location of the input device; and one or more correlators couplable to the selected subset of the plurality of sense channels, wherein the one or more correlators comprise a plurality of second demodulators, the second demodulators configured to demodulate a second plurality of received signals from the selected subset of the plurality of sense channels, the one or more correlators configured to determine frequency content of the demodulated signals.
 2. The touch-sensitive device of claim 1, further comprising one or more multiplexers configured to: receive a signal indicative of the selected subset of the plurality of sense channels from the position estimation processor; and couple the selected subset of the plurality of sense channels to the one or more correlators.
 3. The touch-sensitive device of claim 1, wherein a correlator of the plurality of correlators further comprises an adder coupled to a plurality of outputs of the second demodulators, and the correlator is configured to determine the frequency content of an output of the adder.
 4. The touch-sensitive device of claim 1, wherein the first plurality of received signals are received while the touch-sensitive device is configured in a first configuration, the first configuration including coupling two or more touch sensors of the plurality of touch sensors to each sense channel.
 5. The touch-sensitive device of claim 1, wherein the second plurality of received signals are received while the touch-sensitive device is configured in a second configuration, the second configuration including coupling one touch sensor of the plurality of touch sensors to each sense channel.
 6. A method for decoding data transmitted by an input device, the method comprising: receiving signals from the input device; estimating a location of the input device relative to a touch sensitive surface based on a first plurality of received signals; selecting one or more sense channels coupled to the touch sensitive surface based on the estimated location of the input device, wherein the one or more selected sense channels sense touch sensors of the touch sensitive surface proximate to the input device; and decoding encoded data from a second plurality of signals received at the selected one or more sense channels.
 7. The method of claim 6, further comprising: demodulating the second plurality of signals with a plurality of demodulators.
 8. The method of claim 7, further comprising: determining frequency content of the demodulated second plurality of signals.
 9. The method of claim 6, further comprising: receiving the first plurality of received signals during a first operation, the first operation comprising coupling two or more touch sensors of the touch sensitive surface to each sense channel.
 10. The method of claim 6, further comprising: receiving the second plurality of received signals during a second operation, the second operation comprising coupling one touch sensor of the touch sensitive surface to each sense channel.
 11. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by an electronic device including one or more processors, causes the electronic device to perform a method comprising: receiving signals from an input device; estimating a location of the input device relative to a touch sensitive surface based on a first plurality of received signals; selecting one or more sense channels coupled to the touch sensitive surface based on the estimated location of the input device, wherein the one or more selected sense channels sense touch sensors of the touch sensitive surface proximate to the input device; and decoding encoded data from a second plurality of signals received at the selected one or more sense channels.
 12. The non-transitory computer readable storage medium of claim 11, wherein the method further comprises: demodulating the second plurality of signals with a plurality of demodulators.
 13. The non-transitory computer readable storage medium of claim 11, wherein the method further comprises: determining frequency content of the demodulated second plurality of signals.
 14. The non-transitory computer readable storage medium of claim 11, wherein the method further comprises: receiving the first plurality of received signals during a first operation, the first operation comprising coupling two or more touch sensors of the touch sensitive surface to each sense channel.
 15. The non-transitory computer readable storage medium of claim 11, wherein the method further comprises: receiving the second plurality of received signals during a second operation, the second operation comprising coupling one touch sensor of the touch sensitive surface to each sense channel.
 16. An apparatus comprising: a position estimation processor configured to estimate a location of the input device based on a first plurality of signals received at a plurality of sense channels, and configured to select a subset of the plurality of sense channels coupled to one or more touch sensors proximate to the input device based on the estimated location of the input device; and one or more correlators couplable to the selected subset of the plurality of sense channels, wherein the one or more correlators comprise a plurality of demodulators, the demodulators configured to demodulate a second plurality of signals from the selected subset of the plurality of sense channels, the one or more correlators configured to determine frequency content of the demodulated signals.
 17. The apparatus of claim 16, further comprising one or more multiplexers coupled to one or more inputs of the correlators, wherein the one or more multiplexors are configured to: receive a signal indicative of the selected subset of the plurality of sense channels from the position estimation processor; and couple the selected subset of the plurality of sense channels to the one or more correlators.
 18. The apparatus of claim 16, wherein a correlator of the plurality of correlators further comprises an adder coupled to a plurality of outputs of the demodulators.
 19. The apparatus of claim 16, wherein the first plurality of signals are received while two or more touch sensors of the plurality of touch sensors are coupled to each sense channel.
 20. The apparatus of claim 16, wherein the second plurality of signals are received while one touch sensor of the plurality of touch sensors is coupled to each sense channel. 